package interviewClassic150;

import java.util.ArrayList;
import java.util.List;

public class SummaryRanges {
    public List<String> summaryRanges(int[] nums) {
        //当前区间的左边界
        int left = 0;
        List<String> list = new ArrayList<>();
        if (nums.length == 0) return list;
        for (int i = 1; i < nums.length; i++) {
            if (nums[i] != nums[i - 1] + 1) {
                //将上一个区间加入结果集
                String lastRange = nums[left] == nums[i - 1] ? "" + nums[left] : nums[left] + "->" + nums[i - 1];
                list.add(lastRange);
                //重置左边界
                left = i;
            }
        }

        //最后一个元素，直接转换加入
        String lastRange = nums[left] == nums[nums.length - 1] ? "" + nums[left] : nums[left] + "->" + nums[nums.length - 1];
        list.add(lastRange);


        return list;
    }
}
